<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>dppsu: xdppsu.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">dppsu
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xdppsu_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xdppsu.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>The Xilinx DisplayPort transmitter (DPTX_PS) driver. </p>
<p>This driver supports the Xilinx DisplayPort PS core in TX mode. This driver follows the DisplayPort 1.2a specification.</p>
<p>The Xilinx DisplayPort soft IP supports the following features:</p>
<ul>
<li>1, 2 lanes.</li>
<li>A link rate of 1.62, 2.70, or 5.40Gbps per lane.</li>
<li>1, 2, or 4 pixel-wide video interfaces.</li>
<li>RGB and YCbCr color space.</li>
<li>Up to 12 bits per component.</li>
<li>Up to 4Kx2K monitor resolution.</li>
<li>Auto lane rate and width negotiation.</li>
<li>I2C over a 1Mb/s AUX channel.</li>
<li>Secondary channel audio support (2 channels).</li>
</ul>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
</p>
<hr/>
<p>
1.0   aad  05/17/14 Initial release.
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu___config.html">XDpPsu_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the DisplayPort TX core.  <a href="struct_x_dp_psu___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu___sink_config.html">XDpPsu_SinkConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information about the RX device.  <a href="struct_x_dp_psu___sink_config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu___link_config.html">XDpPsu_LinkConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information about the main link settings.  <a href="struct_x_dp_psu___link_config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu___main_stream_attributes.html">XDpPsu_MainStreamAttributes</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the main stream attributes which determine how the video will be displayed.  <a href="struct_x_dp_psu___main_stream_attributes.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu___board_char.html">XDpPsu_BoardChar</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef describes some board characteristics information that affects link training.  <a href="struct_x_dp_psu___board_char.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> driver instance data.  <a href="struct_x_dp_psu.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a13e177802b0d46ab226b56650ce50fc0"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a13e177802b0d46ab226b56650ce50fc0">XDpPsu_HpdEventHandler</a> )(void *InstancePtr)</td></tr>
<tr class="memdesc:a13e177802b0d46ab226b56650ce50fc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type which represents the handler for a Hot-Plug-Detect (HPD) event interrupt.  <a href="#a13e177802b0d46ab226b56650ce50fc0">More...</a><br/></td></tr>
<tr class="separator:a13e177802b0d46ab226b56650ce50fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b28e87125be77708843cd7941024b60"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a1b28e87125be77708843cd7941024b60">XDpPsu_HpdPulseHandler</a> )(void *InstancePtr)</td></tr>
<tr class="memdesc:a1b28e87125be77708843cd7941024b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type which represents the handler for a Hot-Plug-Detect (HPD) pulse interrupt.  <a href="#a1b28e87125be77708843cd7941024b60">More...</a><br/></td></tr>
<tr class="separator:a1b28e87125be77708843cd7941024b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:abc1a92f88c89695f8bfa5f7d7ad4d851"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851">XDpPsu_ColorEncoding</a> { <br/>
&#160;&#160;<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a2d5a375b359c9f58a59fc935d248699c">XDPPSU_CENC_RGB</a> = 0, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ae7b6c5198c5816c89fa0003c20a601ff">XDPPSU_CENC_XVYCC_422_BT601</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a63ca1aad8ed6f51611e20f7361764414">XDPPSU_CENC_XVYCC_422_BT709</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851af2e71bbe4b7aa0287a4c9b1b77750b5d">XDPPSU_CENC_XVYCC_444_BT601</a>, 
<br/>
&#160;&#160;<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ab1d76ebc9fa0e4f5810c267f8106b577">XDPPSU_CENC_XVYCC_444_BT709</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a1b1deea18bbbab732a0c2df2a8e6133b">XDPPSU_CENC_YCBCR_422_BT601</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851af72c3d85b341dd83f2fc1cc7f14c0722">XDPPSU_CENC_YCBCR_422_BT709</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ae634038a76a619c1de930d813b8679d1">XDPPSU_CENC_YCBCR_444_BT601</a>, 
<br/>
&#160;&#160;<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a97f6a1ab58d7027c728c017a59e6c0fd">XDPPSU_CENC_YCBCR_444_BT709</a>, 
<a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851aaa59c0c71ca41b01f97161d4513d9b5a">XDPPSU_CENC_YONLY</a>
<br/>
 }</td></tr>
<tr class="memdesc:abc1a92f88c89695f8bfa5f7d7ad4d851"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the color encoding schemes that are supported.  <a href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851">More...</a><br/></td></tr>
<tr class="separator:abc1a92f88c89695f8bfa5f7d7ad4d851"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2602de9c767cd981896326433a3c2570"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a2602de9c767cd981896326433a3c2570">XDpPsu_InitializeTx</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a2602de9c767cd981896326433a3c2570"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function prepares the DisplayPort TX core for use.  <a href="#a2602de9c767cd981896326433a3c2570">More...</a><br/></td></tr>
<tr class="separator:a2602de9c767cd981896326433a3c2570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a619d7de707e733f244b8eeaf8dbc8377"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a619d7de707e733f244b8eeaf8dbc8377">XDpPsu_CfgInitialize</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, <a class="el" href="struct_x_dp_psu___config.html">XDpPsu_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
<tr class="memdesc:a619d7de707e733f244b8eeaf8dbc8377"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function retrieves the configuration for this DisplayPort TX instance and fills in the InstancePtr-&gt;Config structure.  <a href="#a619d7de707e733f244b8eeaf8dbc8377">More...</a><br/></td></tr>
<tr class="separator:a619d7de707e733f244b8eeaf8dbc8377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a935cce246619f8f43ea0794ed9fa8e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a0a935cce246619f8f43ea0794ed9fa8e">XDpPsu_GetRxCapabilities</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a0a935cce246619f8f43ea0794ed9fa8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD).  <a href="#a0a935cce246619f8f43ea0794ed9fa8e">More...</a><br/></td></tr>
<tr class="separator:a0a935cce246619f8f43ea0794ed9fa8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d4cefedd9d272f58c7927b72add609d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a3d4cefedd9d272f58c7927b72add609d">XDpPsu_CfgMainLinkMax</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a3d4cefedd9d272f58c7927b72add609d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function determines the common capabilities between the DisplayPort TX core and the RX device.  <a href="#a3d4cefedd9d272f58c7927b72add609d">More...</a><br/></td></tr>
<tr class="separator:a3d4cefedd9d272f58c7927b72add609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe31bd9b101b094a40eff13ef032ea44"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#abe31bd9b101b094a40eff13ef032ea44">XDpPsu_EstablishLink</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:abe31bd9b101b094a40eff13ef032ea44"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the link needs training and runs the training sequence if training is required.  <a href="#abe31bd9b101b094a40eff13ef032ea44">More...</a><br/></td></tr>
<tr class="separator:abe31bd9b101b094a40eff13ef032ea44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae723bbc24a4dbce124cdd92979af27af"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#ae723bbc24a4dbce124cdd92979af27af">XDpPsu_CheckLinkStatus</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 LaneCount)</td></tr>
<tr class="memdesc:ae723bbc24a4dbce124cdd92979af27af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the reciever's DisplayPort Configuration Data (DPCD) indicates the reciever has achieved and maintained clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use.  <a href="#ae723bbc24a4dbce124cdd92979af27af">More...</a><br/></td></tr>
<tr class="separator:ae723bbc24a4dbce124cdd92979af27af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d129accbf09c6474ba5e1fac854983"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u32 DpcdAddress, u32 BytesToRead, void *ReadData)</td></tr>
<tr class="memdesc:ab9d129accbf09c6474ba5e1fac854983"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function issues a read request over the AUX channel that will read from the RX device's DisplayPort Configuration Data (DPCD) address space.  <a href="#ab9d129accbf09c6474ba5e1fac854983">More...</a><br/></td></tr>
<tr class="separator:ab9d129accbf09c6474ba5e1fac854983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a619df5cbd94b7f0459e62b55a34e5df5"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u32 DpcdAddress, u32 BytesToWrite, void *WriteData)</td></tr>
<tr class="memdesc:a619df5cbd94b7f0459e62b55a34e5df5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function issues a write request over the AUX channel that will write to the RX device's DisplayPort Configuration Data (DPCD) address space.  <a href="#a619df5cbd94b7f0459e62b55a34e5df5">More...</a><br/></td></tr>
<tr class="separator:a619df5cbd94b7f0459e62b55a34e5df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17608072027dcae9a885b07ad2c25690"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a17608072027dcae9a885b07ad2c25690">XDpPsu_IicRead</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 IicAddress, u16 Offset, u16 BytesToRead, void *ReadData)</td></tr>
<tr class="memdesc:a17608072027dcae9a885b07ad2c25690"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an I2C read over the AUX channel.  <a href="#a17608072027dcae9a885b07ad2c25690">More...</a><br/></td></tr>
<tr class="separator:a17608072027dcae9a885b07ad2c25690"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22050229650e6ee5ac11242e5387e8e4"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a22050229650e6ee5ac11242e5387e8e4">XDpPsu_IicWrite</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 IicAddress, u8 BytesToWrite, void *WriteData)</td></tr>
<tr class="memdesc:a22050229650e6ee5ac11242e5387e8e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs an I2C write over the AUX channel.  <a href="#a22050229650e6ee5ac11242e5387e8e4">More...</a><br/></td></tr>
<tr class="separator:a22050229650e6ee5ac11242e5387e8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7836168f290562156a24fb51762acde4"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a7836168f290562156a24fb51762acde4">XDpPsu_SetDownspread</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:a7836168f290562156a24fb51762acde4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables or disables 0.5% spreading of the clock for both the DisplayPort and the RX device.  <a href="#a7836168f290562156a24fb51762acde4">More...</a><br/></td></tr>
<tr class="separator:a7836168f290562156a24fb51762acde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec5ae4af1f5232fc86116d457045997"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a2ec5ae4af1f5232fc86116d457045997">XDpPsu_SetEnhancedFrameMode</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:a2ec5ae4af1f5232fc86116d457045997"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables or disables the enhanced framing symbol sequence for both the DisplayPort TX core and the RX device.  <a href="#a2ec5ae4af1f5232fc86116d457045997">More...</a><br/></td></tr>
<tr class="separator:a2ec5ae4af1f5232fc86116d457045997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868ca9bd2184707f3929e6f7e695cc93"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a868ca9bd2184707f3929e6f7e695cc93">XDpPsu_SetLaneCount</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 LaneCount)</td></tr>
<tr class="memdesc:a868ca9bd2184707f3929e6f7e695cc93"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the number of lanes to be used by the main link for both the DisplayPort TX core and the RX device.  <a href="#a868ca9bd2184707f3929e6f7e695cc93">More...</a><br/></td></tr>
<tr class="separator:a868ca9bd2184707f3929e6f7e695cc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68384c6a808dff1f2e68e7611057a548"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a68384c6a808dff1f2e68e7611057a548">XDpPsu_SetLinkRate</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 LinkRate)</td></tr>
<tr class="memdesc:a68384c6a808dff1f2e68e7611057a548"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the data rate to be used by the main link for both the DisplayPort TX core and the RX device.  <a href="#a68384c6a808dff1f2e68e7611057a548">More...</a><br/></td></tr>
<tr class="separator:a68384c6a808dff1f2e68e7611057a548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a690be0eee00d0c06370f88fdfbfdfb75"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a690be0eee00d0c06370f88fdfbfdfb75">XDpPsu_SetScrambler</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:a690be0eee00d0c06370f88fdfbfdfb75"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables or disables scrambling of symbols for both the DisplayPort and the RX device.  <a href="#a690be0eee00d0c06370f88fdfbfdfb75">More...</a><br/></td></tr>
<tr class="separator:a690be0eee00d0c06370f88fdfbfdfb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee45a79c993e3bcad636dddf3121aeab"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#aee45a79c993e3bcad636dddf3121aeab">XDpPsu_IsConnected</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:aee45a79c993e3bcad636dddf3121aeab"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if there is a connected RX device.  <a href="#aee45a79c993e3bcad636dddf3121aeab">More...</a><br/></td></tr>
<tr class="separator:aee45a79c993e3bcad636dddf3121aeab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad113ed848850849d07fae7ce163a8a62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#ad113ed848850849d07fae7ce163a8a62">XDpPsu_EnableMainLink</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:ad113ed848850849d07fae7ce163a8a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the main link.  <a href="#ad113ed848850849d07fae7ce163a8a62">More...</a><br/></td></tr>
<tr class="separator:ad113ed848850849d07fae7ce163a8a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eec1f08aa677fac3467a9d34b54589c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a6eec1f08aa677fac3467a9d34b54589c">XDpPsu_ResetPhy</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u32 Reset)</td></tr>
<tr class="memdesc:a6eec1f08aa677fac3467a9d34b54589c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function does a PHY reset.  <a href="#a6eec1f08aa677fac3467a9d34b54589c">More...</a><br/></td></tr>
<tr class="separator:a6eec1f08aa677fac3467a9d34b54589c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60932e88ba047ac16f0b6ce9103d43b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a60932e88ba047ac16f0b6ce9103d43b7">XDpPsu_CfgMsaRecalculate</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a60932e88ba047ac16f0b6ce9103d43b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function calculates the following Main Stream Attributes (MSA):  <a href="#a60932e88ba047ac16f0b6ce9103d43b7">More...</a><br/></td></tr>
<tr class="separator:a60932e88ba047ac16f0b6ce9103d43b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c17c2d8df179f32a3da77787a81f0fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a5c17c2d8df179f32a3da77787a81f0fc">XDpPsu_CfgMsaUseStandardVideoMode</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, XVidC_VideoMode VideoMode)</td></tr>
<tr class="memdesc:a5c17c2d8df179f32a3da77787a81f0fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the Main Stream Attribute (MSA) values in the configuration structure to match one of the standard display mode timings from the XDpPsu_DmtModes[] standard Display Monitor Timing (DMT) table.  <a href="#a5c17c2d8df179f32a3da77787a81f0fc">More...</a><br/></td></tr>
<tr class="separator:a5c17c2d8df179f32a3da77787a81f0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4a2bfe8c203d186833dd3f1590bc262"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#af4a2bfe8c203d186833dd3f1590bc262">XDpPsu_CfgMsaUseEdidPreferredTiming</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 *Edid)</td></tr>
<tr class="memdesc:af4a2bfe8c203d186833dd3f1590bc262"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the main stream attribute values in the configuration structure to match the preferred timing of the sink monitor.  <a href="#af4a2bfe8c203d186833dd3f1590bc262">More...</a><br/></td></tr>
<tr class="separator:af4a2bfe8c203d186833dd3f1590bc262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fda86e200651dfc92ad74779ebddbf0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a2fda86e200651dfc92ad74779ebddbf0">XDpPsu_CfgMsaUseCustom</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html">XDpPsu_MainStreamAttributes</a> *MsaConfigCustom, u8 Recalculate)</td></tr>
<tr class="memdesc:a2fda86e200651dfc92ad74779ebddbf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes a the main stream attributes from MsaConfigCustom and copies them into InstancePtr-&gt;MsaConfig.  <a href="#a2fda86e200651dfc92ad74779ebddbf0">More...</a><br/></td></tr>
<tr class="separator:a2fda86e200651dfc92ad74779ebddbf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af59b28d1d599ee7d265c7ab0badf1e19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#af59b28d1d599ee7d265c7ab0badf1e19">XDpPsu_CfgMsaSetBpc</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 BitsPerColor)</td></tr>
<tr class="memdesc:af59b28d1d599ee7d265c7ab0badf1e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the bits per color value of the video stream.  <a href="#af59b28d1d599ee7d265c7ab0badf1e19">More...</a><br/></td></tr>
<tr class="separator:af59b28d1d599ee7d265c7ab0badf1e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a288a08c1d83e4f66f0217cab4d695544"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a288a08c1d83e4f66f0217cab4d695544">XDpPsu_CfgMsaEnSynchClkMode</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:a288a08c1d83e4f66f0217cab4d695544"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables or disables synchronous clock mode for a video stream.  <a href="#a288a08c1d83e4f66f0217cab4d695544">More...</a><br/></td></tr>
<tr class="separator:a288a08c1d83e4f66f0217cab4d695544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aade3b1675942175dbb3300e2c9d0c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a4aade3b1675942175dbb3300e2c9d0c0">XDpPsu_SetVideoMode</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a4aade3b1675942175dbb3300e2c9d0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears the main stream attributes registers of the DisplayPort TX core and sets them to the values specified in the main stream attributes configuration structure.  <a href="#a4aade3b1675942175dbb3300e2c9d0c0">More...</a><br/></td></tr>
<tr class="separator:a4aade3b1675942175dbb3300e2c9d0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae04780a260564bbae1fd7c26155bd5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a0ae04780a260564bbae1fd7c26155bd5">XDpPsu_SetMsaValues</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a0ae04780a260564bbae1fd7c26155bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the main stream attributes registers of the DisplayPort TX core with the values specified in the main stream attributes configuration structure.  <a href="#a0ae04780a260564bbae1fd7c26155bd5">More...</a><br/></td></tr>
<tr class="separator:a0ae04780a260564bbae1fd7c26155bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c4b527b0d2029a84a19d8e419a071bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a1c4b527b0d2029a84a19d8e419a071bc">XDpPsu_SetHpdEventHandler</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, <a class="el" href="xdppsu_8h.html#a13e177802b0d46ab226b56650ce50fc0">XDpPsu_HpdEventHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr class="memdesc:a1c4b527b0d2029a84a19d8e419a071bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function installs a callback function for when a hot-plug-detect event interrupt occurs.  <a href="#a1c4b527b0d2029a84a19d8e419a071bc">More...</a><br/></td></tr>
<tr class="separator:a1c4b527b0d2029a84a19d8e419a071bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a566d5385a4745191d09f43440125d927"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a566d5385a4745191d09f43440125d927">XDpPsu_SetHpdPulseHandler</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, <a class="el" href="xdppsu_8h.html#a1b28e87125be77708843cd7941024b60">XDpPsu_HpdPulseHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr class="memdesc:a566d5385a4745191d09f43440125d927"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function installs a callback function for when a hot-plug-detect pulse interrupt occurs.  <a href="#a566d5385a4745191d09f43440125d927">More...</a><br/></td></tr>
<tr class="separator:a566d5385a4745191d09f43440125d927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940393f7b33c36e51ea69d4561630222"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a940393f7b33c36e51ea69d4561630222">XDpPsu_HpdInterruptHandler</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a940393f7b33c36e51ea69d4561630222"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> driver.  <a href="#a940393f7b33c36e51ea69d4561630222">More...</a><br/></td></tr>
<tr class="separator:a940393f7b33c36e51ea69d4561630222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a361b97262d5192f5f357fb4fb27b3ec8"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a361b97262d5192f5f357fb4fb27b3ec8">XDpPsu_SelfTest</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr)</td></tr>
<tr class="memdesc:a361b97262d5192f5f357fb4fb27b3ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs a self-test on the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> driver/device.  <a href="#a361b97262d5192f5f357fb4fb27b3ec8">More...</a><br/></td></tr>
<tr class="separator:a361b97262d5192f5f357fb4fb27b3ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6dbe680949ea8a0e857c916d870584b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_dp_psu___config.html">XDpPsu_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#af6dbe680949ea8a0e857c916d870584b">XDpPsu_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:af6dbe680949ea8a0e857c916d870584b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function looks for the device configuration based on the unique device ID.  <a href="#af6dbe680949ea8a0e857c916d870584b">More...</a><br/></td></tr>
<tr class="separator:af6dbe680949ea8a0e857c916d870584b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0fa16cc316a99a72bab32753d48cd3"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#abd0fa16cc316a99a72bab32753d48cd3">XDpPsu_GetEdid</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 *Edid)</td></tr>
<tr class="memdesc:abd0fa16cc316a99a72bab32753d48cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function retrieves an immediately connected RX device's Extended Display Identification Data (EDID) structure.  <a href="#abd0fa16cc316a99a72bab32753d48cd3">More...</a><br/></td></tr>
<tr class="separator:abd0fa16cc316a99a72bab32753d48cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cfcf97f7f82b214ea57ba6ea2564914"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a1cfcf97f7f82b214ea57ba6ea2564914">XDpPsu_GetEdidBlock</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, u8 *Data, u8 BlockNum)</td></tr>
<tr class="memdesc:a1cfcf97f7f82b214ea57ba6ea2564914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve an immediately connected RX device's Extended Display Identification Data (EDID) block given the block number.  <a href="#a1cfcf97f7f82b214ea57ba6ea2564914">More...</a><br/></td></tr>
<tr class="separator:a1cfcf97f7f82b214ea57ba6ea2564914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac915592ad26d01d7dca7c150bd985ee0"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#ac915592ad26d01d7dca7c150bd985ee0">XDpPsu_GetDispIdDataBlock</a> (u8 *DisplayIdRaw, u8 SectionTag, u8 **DataBlockPtr)</td></tr>
<tr class="memdesc:ac915592ad26d01d7dca7c150bd985ee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a section tag, search for and retrieve the appropriate section data block that is part of the specified DisplayID structure.  <a href="#ac915592ad26d01d7dca7c150bd985ee0">More...</a><br/></td></tr>
<tr class="separator:ac915592ad26d01d7dca7c150bd985ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93872e0beb0405b47b7d689e8f8749c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdppsu_8h.html#a93872e0beb0405b47b7d689e8f8749c5">XDpPsu_SetColorEncode</a> (<a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *InstancePtr, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851">XDpPsu_ColorEncoding</a> ColorEncode)</td></tr>
<tr class="memdesc:a93872e0beb0405b47b7d689e8f8749c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the output Video format for the DP core.  <a href="#a93872e0beb0405b47b7d689e8f8749c5">More...</a><br/></td></tr>
<tr class="separator:a93872e0beb0405b47b7d689e8f8749c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a13e177802b0d46ab226b56650ce50fc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XDpPsu_HpdEventHandler)(void *InstancePtr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type which represents the handler for a Hot-Plug-Detect (HPD) event interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a1b28e87125be77708843cd7941024b60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XDpPsu_HpdPulseHandler)(void *InstancePtr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type which represents the handler for a Hot-Plug-Detect (HPD) pulse interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851">XDpPsu_ColorEncoding</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains the color encoding schemes that are supported. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851a2d5a375b359c9f58a59fc935d248699c"></a>XDPPSU_CENC_RGB</em>&nbsp;</td><td class="fielddoc">
<p>RGB Color Encoding. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851ae7b6c5198c5816c89fa0003c20a601ff"></a>XDPPSU_CENC_XVYCC_422_BT601</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 422 Color Encoding BT601 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851a63ca1aad8ed6f51611e20f7361764414"></a>XDPPSU_CENC_XVYCC_422_BT709</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 422 Color Encoding BT709 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851af2e71bbe4b7aa0287a4c9b1b77750b5d"></a>XDPPSU_CENC_XVYCC_444_BT601</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 444 Color Encoding BT601 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851ab1d76ebc9fa0e4f5810c267f8106b577"></a>XDPPSU_CENC_XVYCC_444_BT709</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 444 Color Encoding BT709 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851a1b1deea18bbbab732a0c2df2a8e6133b"></a>XDPPSU_CENC_YCBCR_422_BT601</em>&nbsp;</td><td class="fielddoc">
<p>YCbCr 422 Color Encoding BT601 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851af72c3d85b341dd83f2fc1cc7f14c0722"></a>XDPPSU_CENC_YCBCR_422_BT709</em>&nbsp;</td><td class="fielddoc">
<p>YCbCr 422 Color Encoding BT709 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851ae634038a76a619c1de930d813b8679d1"></a>XDPPSU_CENC_YCBCR_444_BT601</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 444 Color Encoding BT601 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851a97f6a1ab58d7027c728c017a59e6c0fd"></a>XDPPSU_CENC_YCBCR_444_BT709</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 444 Color Encoding BT709 standard. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="abc1a92f88c89695f8bfa5f7d7ad4d851aaa59c0c71ca41b01f97161d4513d9b5a"></a>XDPPSU_CENC_YONLY</em>&nbsp;</td><td class="fielddoc">
<p>XVYCC 422 Color Encoding BT709 standard. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab9d129accbf09c6474ba5e1fac854983"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_AuxRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DpcdAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BytesToRead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ReadData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function issues a read request over the AUX channel that will read from the RX device's DisplayPort Configuration Data (DPCD) address space. </p>
<p>The read message will be divided into multiple transactions which read a maximum of 16 bytes each.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">DpcdAddress</td><td>is the starting address to read from the RX device. </td></tr>
    <tr><td class="paramname">BytesToRead</td><td>is the number of bytes to read from the RX device. </td></tr>
    <tr><td class="paramname">ReadData</td><td>is a pointer to the data buffer that will be filled with read data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the AUX read request was successfully acknowledged.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="xdppsu__hw_8h.html#ad51f02c0576e8074f3c00e4182ecaab9">XDPPSU_AUX_CMD_READ</a>.</p>

<p>Referenced by <a class="el" href="xdppsu_8h.html#a0a935cce246619f8f43ea0794ed9fa8e">XDpPsu_GetRxCapabilities()</a>, <a class="el" href="xdppsu_8h.html#a7836168f290562156a24fb51762acde4">XDpPsu_SetDownspread()</a>, <a class="el" href="xdppsu_8h.html#a2ec5ae4af1f5232fc86116d457045997">XDpPsu_SetEnhancedFrameMode()</a>, <a class="el" href="xdppsu_8h.html#a868ca9bd2184707f3929e6f7e695cc93">XDpPsu_SetLaneCount()</a>, and <a class="el" href="xdppsu_8h.html#a690be0eee00d0c06370f88fdfbfdfb75">XDpPsu_SetScrambler()</a>.</p>

</div>
</div>
<a class="anchor" id="a619df5cbd94b7f0459e62b55a34e5df5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_AuxWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DpcdAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BytesToWrite</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>WriteData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function issues a write request over the AUX channel that will write to the RX device's DisplayPort Configuration Data (DPCD) address space. </p>
<p>The write message will be divided into multiple transactions which write a maximum of 16 bytes each.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">DpcdAddress</td><td>is the starting address to write to the RX device. </td></tr>
    <tr><td class="paramname">BytesToWrite</td><td>is the number of bytes to write to the RX device. </td></tr>
    <tr><td class="paramname">WriteData</td><td>is a pointer to the data buffer that contains the data to be written to the RX device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the AUX write request was successfully acknowledged.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="xdppsu__hw_8h.html#aa00034da8faac0abfb2c515aab654963">XDPPSU_AUX_CMD_WRITE</a>.</p>

<p>Referenced by <a class="el" href="xdppsu_8h.html#a7836168f290562156a24fb51762acde4">XDpPsu_SetDownspread()</a>, <a class="el" href="xdppsu_8h.html#a2ec5ae4af1f5232fc86116d457045997">XDpPsu_SetEnhancedFrameMode()</a>, <a class="el" href="xdppsu_8h.html#a868ca9bd2184707f3929e6f7e695cc93">XDpPsu_SetLaneCount()</a>, <a class="el" href="xdppsu_8h.html#a68384c6a808dff1f2e68e7611057a548">XDpPsu_SetLinkRate()</a>, and <a class="el" href="xdppsu_8h.html#a690be0eee00d0c06370f88fdfbfdfb75">XDpPsu_SetScrambler()</a>.</p>

</div>
</div>
<a class="anchor" id="a619d7de707e733f244b8eeaf8dbc8377"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu___config.html">XDpPsu_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function retrieves the configuration for this DisplayPort TX instance and fills in the InstancePtr-&gt;Config structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>is a pointer to the configuration structure that will be used to copy the settings from. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Unexpected errors may occur if the address mapping is changed after this function is invoked. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu___config.html#a617652abd46febf4474c8bdf4f10e1b9">XDpPsu_Config::DeviceId</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="struct_x_dp_psu.html#ad115a6324d57fadb9fdf33a5d1bb3133">XDpPsu::SAxiClkHz</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__selftest__example_8c.html#a10828d1ee5d6d1839041dd4cf6ff36d3">DpPsu_SelfTestExample()</a>, and <a class="el" href="xdppsu__common__example_8h.html#ab974530daf60911aba3ef16148bd85ad">DpPsu_SetupExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d4cefedd9d272f58c7927b72add609d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_CfgMainLinkMax </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function determines the common capabilities between the DisplayPort TX core and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if main link settings were successfully set.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a0953d4a5c490da688eb7d4636f918712">XDpPsu_LinkConfig::MaxLaneCount</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a7add556a95dbf238f21ae156bfd284f3">XDpPsu_LinkConfig::MaxLinkRate</a>, <a class="el" href="xdppsu_8c.html#a868ca9bd2184707f3929e6f7e695cc93">XDpPsu_SetLaneCount()</a>, and <a class="el" href="xdppsu_8c.html#a68384c6a808dff1f2e68e7611057a548">XDpPsu_SetLinkRate()</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>.</p>

</div>
</div>
<a class="anchor" id="a288a08c1d83e4f66f0217cab4d695544"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaEnSynchClkMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables or disables synchronous clock mode for a video stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance </td></tr>
    <tr><td class="paramname">Enable</td><td>if set to 1, will enable synchronous clock mode. Otherwise, if set to 0, synchronous clock mode will be disabled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aad53f91b8a18773658be4b11a83b1b07">XDpPsu_MainStreamAttributes::Misc0</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aa3b4c4d678fe829e401a090c946fb97e">XDpPsu_MainStreamAttributes::SynchronousClockMode</a>, and <a class="el" href="xdppsu__hw_8h.html#a2db3e057d0bf4c18c078c8c6c1c6e214">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="a60932e88ba047ac16f0b6ce9103d43b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaRecalculate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function calculates the following Main Stream Attributes (MSA): </p>
<pre class="fragment"> - Transfer unit size
 - User pixel width
 - Horizontal start
 - Vertical start
 - Horizontal total clock
 - Vertical total clock
 - Misc0
 - Misc1
 - Data per lane
 - Average number of bytes per transfer unit
 - Number of initial wait cycles
</pre><p> These values are derived from:</p>
<ul>
<li>Bits per color</li>
<li>Horizontal resolution</li>
<li>Vertical resolution</li>
<li>Pixel clock (in KHz)</li>
<li>Horizontal sync polarity</li>
<li>Vertical sync polarity</li>
<li>Horizontal front porch</li>
<li>Horizontal sync pulse width</li>
<li>Horizontal back porch</li>
<li>Vertical front porch</li>
<li>Vertical sync pulse width</li>
<li>Vertical back porch</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The MsaConfig structure is modified with the new, calculated values. The main stream attributes that were used to derive the calculated values are untouched in the MsaConfig structure. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a68c1a909b07494754efdb3013fefd3a2">XDpPsu_MainStreamAttributes::AvgBytesPerTU</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a45cd153f3800b1f808f85d3d5a479bb5">XDpPsu_MainStreamAttributes::BitsPerColor</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a05a5424fcecad4f711e93a713918e1b4">XDpPsu_MainStreamAttributes::ComponentFormat</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#ab45384e75710459fcc27223be6b6fab6">XDpPsu_MainStreamAttributes::DataPerLane</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#ab98fd80f6d8ce3ff3fead5dbb3e98b19">XDpPsu_MainStreamAttributes::DynamicRange</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a39efde558c7dc46d473c5d97a5e57f0c">XDpPsu_MainStreamAttributes::HStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a3665a9f198631d956098e0e2d8110c83">XDpPsu_MainStreamAttributes::InitWait</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a1e61b94ec7a7329b4b7929251b293e79">XDpPsu_LinkConfig::LaneCount</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#ae1994c57d3126737fc0028f5039b62be">XDpPsu_LinkConfig::LinkRate</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aad53f91b8a18773658be4b11a83b1b07">XDpPsu_MainStreamAttributes::Misc0</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a20a535cfdb61148f3a27e1be513451ff">XDpPsu_MainStreamAttributes::Misc1</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a5800534070e04bcfbb537f3fc67bf26b">XDpPsu_MainStreamAttributes::NVid</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a473d3bb30522b93cc5ac130d6da59d55">XDpPsu_MainStreamAttributes::PixelClockHz</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aa3b4c4d678fe829e401a090c946fb97e">XDpPsu_MainStreamAttributes::SynchronousClockMode</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a279b948bbb49e9894cb5835a0b580e75">XDpPsu_MainStreamAttributes::TransferUnitSize</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aa65d39155f3e2be26683222b92036ea9">XDpPsu_MainStreamAttributes::UserPixelWidth</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a49874c82f96ffd1d8b9a252318902669">XDpPsu_MainStreamAttributes::VStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a187fa13aab8b4f9c6a4a29e0ff834447">XDpPsu_MainStreamAttributes::Vtm</a>, <a class="el" href="xdppsu__hw_8h.html#ab2400bfc1fa2146da8072bbd146f4389">XDPPSU_LANE_COUNT_SET_1</a>, <a class="el" href="xdppsu__hw_8h.html#a07e8772a5d5bc27127f948b47122cec4">XDPPSU_LANE_COUNT_SET_2</a>, <a class="el" href="xdppsu__hw_8h.html#af641cdc72bb85675494a1c463904f8e1">XDPPSU_LINK_BW_SET_162GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a826616f141ab667c2f91c83507ce2322">XDPPSU_LINK_BW_SET_270GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ab01ff3802386be5d138cf5a9af031783">XDPPSU_LINK_BW_SET_540GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a543471a6b6f68ec7fa64c4bdc159aef6">XDPPSU_MAIN_STREAM_MISC0_BDC_10BPC</a>, <a class="el" href="xdppsu__hw_8h.html#a0f4025e10b15002c31e67ff319167574">XDPPSU_MAIN_STREAM_MISC0_BDC_12BPC</a>, <a class="el" href="xdppsu__hw_8h.html#adc5bca138020f36f2ff54990a53f3bc4">XDPPSU_MAIN_STREAM_MISC0_BDC_16BPC</a>, <a class="el" href="xdppsu__hw_8h.html#a28c8927d5dbc09c1767415b65b68ee57">XDPPSU_MAIN_STREAM_MISC0_BDC_6BPC</a>, <a class="el" href="xdppsu__hw_8h.html#a4c4cf8ebf3908d41f086aa164047dc88">XDPPSU_MAIN_STREAM_MISC0_BDC_8BPC</a>, <a class="el" href="xdppsu__hw_8h.html#acee2c3a2e5360398cf20d669767f0838">XDPPSU_MAIN_STREAM_MISC0_BDC_SHIFT</a>, <a class="el" href="xdppsu__hw_8h.html#a2db3e057d0bf4c18c078c8c6c1c6e214">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_SHIFT</a>, <a class="el" href="xdppsu__hw_8h.html#aa7f01b729a14459dd1dd702396841e67">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_YCBCR422</a>, <a class="el" href="xdppsu__hw_8h.html#a848bedf3fe17154e8b43d5dc9001021d">XDPPSU_MAIN_STREAM_MISC0_DYNAMIC_RANGE_SHIFT</a>, <a class="el" href="xdppsu__hw_8h.html#a758fdab5131d4991458d3a515d4304ac">XDPPSU_MAIN_STREAM_MISC0_YCBCR_COLORIMETRY_SHIFT</a>, <a class="el" href="xdppsu__hw_8h.html#a3a788946c8a8f00681b5a2493af74667">XDPPSU_MAIN_STREAM_MISC1_Y_ONLY_EN_MASK</a>, and <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#abbab364a50e80789370359c596dabc14">XDpPsu_MainStreamAttributes::YCbCrColorimetry</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__spm_8c.html#af59b28d1d599ee7d265c7ab0badf1e19">XDpPsu_CfgMsaSetBpc()</a>, <a class="el" href="xdppsu__spm_8c.html#a2fda86e200651dfc92ad74779ebddbf0">XDpPsu_CfgMsaUseCustom()</a>, <a class="el" href="xdppsu__spm_8c.html#af4a2bfe8c203d186833dd3f1590bc262">XDpPsu_CfgMsaUseEdidPreferredTiming()</a>, and <a class="el" href="xdppsu__spm_8c.html#a5c17c2d8df179f32a3da77787a81f0fc">XDpPsu_CfgMsaUseStandardVideoMode()</a>.</p>

</div>
</div>
<a class="anchor" id="af59b28d1d599ee7d265c7ab0badf1e19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaSetBpc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BitsPerColor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the bits per color value of the video stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance </td></tr>
    <tr><td class="paramname">BitsPerColor</td><td>is the new number of bits per color to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The InstancePtr-&gt;MsaConfig structure is modified to reflect the new main stream attributes associated with a new bits per color value. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a45cd153f3800b1f808f85d3d5a479bb5">XDpPsu_MainStreamAttributes::BitsPerColor</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, and <a class="el" href="xdppsu_8h.html#a60932e88ba047ac16f0b6ce9103d43b7">XDpPsu_CfgMsaRecalculate()</a>.</p>

</div>
</div>
<a class="anchor" id="a2fda86e200651dfc92ad74779ebddbf0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaUseCustom </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu___main_stream_attributes.html">XDpPsu_MainStreamAttributes</a> *&#160;</td>
          <td class="paramname"><em>MsaConfigCustom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Recalculate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function takes a the main stream attributes from MsaConfigCustom and copies them into InstancePtr-&gt;MsaConfig. </p>
<p>If desired, given a base set of attributes, the rest of the attributes may be derived. The minimal required main stream attributes (MSA) that must be contained in the MsaConfigCustom structure are:</p>
<ul>
<li>Pixel clock (in Hz)</li>
<li>Horizontal sync polarity</li>
<li>Vertical sync polarity</li>
<li>Horizontal sync pulse width</li>
<li>Vertical sync pulse width</li>
<li>Horizontal resolution</li>
<li>Vertical resolution</li>
<li>Vertical back porch</li>
<li>Vertical front porch</li>
<li>Horizontal back porch</li>
<li>Horizontal front porch</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">MsaConfigCustom</td><td>is the structure that will be used to copy the main stream attributes from (into InstancePtr-&gt;MsaConfig). </td></tr>
    <tr><td class="paramname">Recalculate</td><td>is a boolean enable that determines whether or not the main stream attributes should be recalculated.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The InstancePtr-&gt;MsaConfig structure is modified with the new values. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a68c1a909b07494754efdb3013fefd3a2">XDpPsu_MainStreamAttributes::AvgBytesPerTU</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#ab45384e75710459fcc27223be6b6fab6">XDpPsu_MainStreamAttributes::DataPerLane</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a39efde558c7dc46d473c5d97a5e57f0c">XDpPsu_MainStreamAttributes::HStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a3665a9f198631d956098e0e2d8110c83">XDpPsu_MainStreamAttributes::InitWait</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aad53f91b8a18773658be4b11a83b1b07">XDpPsu_MainStreamAttributes::Misc0</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a20a535cfdb61148f3a27e1be513451ff">XDpPsu_MainStreamAttributes::Misc1</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a5800534070e04bcfbb537f3fc67bf26b">XDpPsu_MainStreamAttributes::NVid</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a473d3bb30522b93cc5ac130d6da59d55">XDpPsu_MainStreamAttributes::PixelClockHz</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a279b948bbb49e9894cb5835a0b580e75">XDpPsu_MainStreamAttributes::TransferUnitSize</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aa65d39155f3e2be26683222b92036ea9">XDpPsu_MainStreamAttributes::UserPixelWidth</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a49874c82f96ffd1d8b9a252318902669">XDpPsu_MainStreamAttributes::VStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a187fa13aab8b4f9c6a4a29e0ff834447">XDpPsu_MainStreamAttributes::Vtm</a>, and <a class="el" href="xdppsu_8h.html#a60932e88ba047ac16f0b6ce9103d43b7">XDpPsu_CfgMsaRecalculate()</a>.</p>

</div>
</div>
<a class="anchor" id="af4a2bfe8c203d186833dd3f1590bc262"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaUseEdidPreferredTiming </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>Edid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the main stream attribute values in the configuration structure to match the preferred timing of the sink monitor. </p>
<p>This Preferred Timing Mode (PTM) information is stored in the sink's Extended Display Identification Data (EDID).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance </td></tr>
    <tr><td class="paramname">Edid</td><td>is a pointer to the Edid to use for the specified stream.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The InstancePtr-&gt;MsaConfig structure is modified to reflect the main stream attribute values associated to the preferred timing of the sink monitor. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a473d3bb30522b93cc5ac130d6da59d55">XDpPsu_MainStreamAttributes::PixelClockHz</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a187fa13aab8b4f9c6a4a29e0ff834447">XDpPsu_MainStreamAttributes::Vtm</a>, and <a class="el" href="xdppsu_8h.html#a60932e88ba047ac16f0b6ce9103d43b7">XDpPsu_CfgMsaRecalculate()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c17c2d8df179f32a3da77787a81f0fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_CfgMsaUseStandardVideoMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVidC_VideoMode&#160;</td>
          <td class="paramname"><em>VideoMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the Main Stream Attribute (MSA) values in the configuration structure to match one of the standard display mode timings from the XDpPsu_DmtModes[] standard Display Monitor Timing (DMT) table. </p>
<p>The XDpPsu_VideoMode enumeration in <a class="el" href="xdppsu_8h.html" title="The Xilinx DisplayPort transmitter (DPTX_PS) driver. ">xdppsu.h</a> lists the available video modes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">VideoMode</td><td>is one of the enumerated standard video modes that is used to determine the MSA values to be used.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The InstancePtr-&gt;MsaConfig structure is modified to reflect the MSA values associated to the specified video mode. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a473d3bb30522b93cc5ac130d6da59d55">XDpPsu_MainStreamAttributes::PixelClockHz</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a187fa13aab8b4f9c6a4a29e0ff834447">XDpPsu_MainStreamAttributes::Vtm</a>, and <a class="el" href="xdppsu_8h.html#a60932e88ba047ac16f0b6ce9103d43b7">XDpPsu_CfgMsaRecalculate()</a>.</p>

</div>
</div>
<a class="anchor" id="ae723bbc24a4dbce124cdd92979af27af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_CheckLinkStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LaneCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function checks if the reciever's DisplayPort Configuration Data (DPCD) indicates the reciever has achieved and maintained clock recovery, channel equalization, symbol lock, and interlane alignment for all lanes currently in use. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">LaneCount</td><td>is the number of lanes to check.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the RX device has maintained clock recovery, channel equalization, symbol lock, and interlane alignment.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="xdppsu__hw_8h.html#ab2400bfc1fa2146da8072bbd146f4389">XDPPSU_LANE_COUNT_SET_1</a>, and <a class="el" href="xdppsu__hw_8h.html#a07e8772a5d5bc27127f948b47122cec4">XDPPSU_LANE_COUNT_SET_2</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>, and <a class="el" href="xdppsu_8h.html#abe31bd9b101b094a40eff13ef032ea44">XDpPsu_EstablishLink()</a>.</p>

</div>
</div>
<a class="anchor" id="ad113ed848850849d07fae7ce163a8a62"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_EnableMainLink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the main link. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Enable</td><td>is a control flag to enable or disable main link</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Enable = 1, Enable main link Enable =0, Disable main link. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="xdppsu__hw_8h.html#a13298309408d465cf884b2b5eb78009b">XDPPSU_ENABLE_MAIN_STREAM</a>, <a class="el" href="xdppsu__hw_8h.html#aa04733c4a40ad233e107c38c163a3423">XDPPSU_FORCE_SCRAMBLER_RESET</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu_8h.html#abe31bd9b101b094a40eff13ef032ea44">XDpPsu_EstablishLink()</a>.</p>

</div>
</div>
<a class="anchor" id="abe31bd9b101b094a40eff13ef032ea44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_EstablishLink </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function checks if the link needs training and runs the training sequence if training is required. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS was either already trained, or has been trained successfully.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a1e61b94ec7a7329b4b7929251b293e79">XDpPsu_LinkConfig::LaneCount</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#ae1994c57d3126737fc0028f5039b62be">XDpPsu_LinkConfig::LinkRate</a>, <a class="el" href="xdppsu_8c.html#ae723bbc24a4dbce124cdd92979af27af">XDpPsu_CheckLinkStatus()</a>, <a class="el" href="xdppsu__hw_8h.html#a13298309408d465cf884b2b5eb78009b">XDPPSU_ENABLE_MAIN_STREAM</a>, <a class="el" href="xdppsu_8c.html#ad113ed848850849d07fae7ce163a8a62">XDpPsu_EnableMainLink()</a>, <a class="el" href="xdppsu__hw_8h.html#ab2400bfc1fa2146da8072bbd146f4389">XDPPSU_LANE_COUNT_SET_1</a>, <a class="el" href="xdppsu__hw_8h.html#a07e8772a5d5bc27127f948b47122cec4">XDPPSU_LANE_COUNT_SET_2</a>, <a class="el" href="xdppsu__hw_8h.html#af641cdc72bb85675494a1c463904f8e1">XDPPSU_LINK_BW_SET_162GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a826616f141ab667c2f91c83507ce2322">XDPPSU_LINK_BW_SET_270GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ab01ff3802386be5d138cf5a9af031783">XDPPSU_LINK_BW_SET_540GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a848fe33e971d0e24ed48e966024dfb9a">XDPPSU_PHY_CONFIG_PHY_RESET_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#aba0f41405e22038988f7198add44b5cc">XDPPSU_PHY_CONFIG_TX_PHY_8B10BEN_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>, <a class="el" href="xdppsu_8c.html#a6eec1f08aa677fac3467a9d34b54589c">XDpPsu_ResetPhy()</a>, and <a class="el" href="xdppsu__hw_8h.html#a8f2c84354e5bb55cd069cea5322ff051">XDPPSU_TRAINING_PATTERN_SET_OFF</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>.</p>

</div>
</div>
<a class="anchor" id="ac915592ad26d01d7dca7c150bd985ee0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_GetDispIdDataBlock </td>
          <td>(</td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>DisplayIdRaw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SectionTag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 **&#160;</td>
          <td class="paramname"><em>DataBlockPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Given a section tag, search for and retrieve the appropriate section data block that is part of the specified DisplayID structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DisplayIdRaw</td><td>is a pointer to the DisplayID data. </td></tr>
    <tr><td class="paramname">SectionTag</td><td>is the tag to search for that represents the desired section data block. </td></tr>
    <tr><td class="paramname">DataBlockPtr</td><td>will be set by this function to point to the appropriate section data block that is part of the DisplayIdRaw.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the section data block with the specified tag was found.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The DataBlockPtr argument is modified to point to the entry in DisplayIdRaw that represents the beginning of the desired section data block. </dd></dl>

</div>
</div>
<a class="anchor" id="abd0fa16cc316a99a72bab32753d48cd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_GetEdid </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>Edid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function retrieves an immediately connected RX device's Extended Display Identification Data (EDID) structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Edid</td><td>is a pointer to the Edid buffer to save to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the I2C transactions to read the EDID were successful.</li>
<li>XST_ERROR_COUNT_MAX if the EDID read request timed out.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="xdppsu_8h.html#a1cfcf97f7f82b214ea57ba6ea2564914">XDpPsu_GetEdidBlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a1cfcf97f7f82b214ea57ba6ea2564914"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_GetEdidBlock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>Data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BlockNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve an immediately connected RX device's Extended Display Identification Data (EDID) block given the block number. </p>
<p>A block number of 0 represents the base EDID and subsequent block numbers represent EDID extension blocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Data</td><td>is a pointer to the data buffer to save the block data to. </td></tr>
    <tr><td class="paramname">BlockNum</td><td>is the EDID block number to retrieve.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the block read has successfully completed with no errors.</li>
<li>XST_ERROR_COUNT_MAX if a time out occurred while attempting to read the requested block.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xdppsu_8c.html#a17608072027dcae9a885b07ad2c25690">XDpPsu_IicRead()</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__edid_8c.html#abd0fa16cc316a99a72bab32753d48cd3">XDpPsu_GetEdid()</a>.</p>

</div>
</div>
<a class="anchor" id="a0a935cce246619f8f43ea0794ed9fa8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_GetRxCapabilities </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function retrieves the RX device's capabilities from the RX device's DisplayPort Configuration Data (DPCD). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the DisplayPort Configuration Data was read successfully.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu___sink_config.html#a47d48196d88bc36406eb730f4666fceb">XDpPsu_SinkConfig::DpcdRxCapsField</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a0953d4a5c490da688eb7d4636f918712">XDpPsu_LinkConfig::MaxLaneCount</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a7add556a95dbf238f21ae156bfd284f3">XDpPsu_LinkConfig::MaxLinkRate</a>, <a class="el" href="struct_x_dp_psu.html#a41ce4238e52e36a29798ac88f4953d49">XDpPsu::RxConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a7081564e099efad7b842948efae9eed5">XDpPsu_LinkConfig::SupportDownspreadControl</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a4324898c50cc247ccca7ed02e19526ba">XDpPsu_LinkConfig::SupportEnhancedFramingMode</a>, and <a class="el" href="xdppsu_8c.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead()</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>.</p>

</div>
</div>
<a class="anchor" id="a940393f7b33c36e51ea69d4561630222"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_HpdInterruptHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the interrupt handler for the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> driver. </p>
<p>When an interrupt happens, it first detects what kind of interrupt happened, then decides which callback function to invoke.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a347b8b6e4f1e7b56f154007cf8039e81">XDpPsu::HpdEventCallbackRef</a>, <a class="el" href="struct_x_dp_psu.html#a5260646a635dae6b11a8670785574c66">XDpPsu::HpdEventHandler</a>, <a class="el" href="struct_x_dp_psu.html#aed4c24dc998c531cec4674be4d6db3aa">XDpPsu::HpdPulseCallbackRef</a>, <a class="el" href="struct_x_dp_psu.html#a128ad832eab2325c3df835f0452b5208">XDpPsu::HpdPulseHandler</a>, <a class="el" href="xdppsu__hw_8h.html#a728bb80efc84e6cb161e3f04103bf6ed">XDPPSU_HPD_DURATION</a>, <a class="el" href="xdppsu__hw_8h.html#a3c97c07d18d9c5a39382fb8f8f7518b6">XDPPSU_INTR_HPD_EVENT_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a63c73ef7b94ee2b16928d5423226e636">XDPPSU_INTR_HPD_PULSE_DETECTED_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a66cf1bc6e98aa546ba11f8a8091b1f8e">XDPPSU_INTR_STATUS</a>, <a class="el" href="xdppsu_8c.html#aee45a79c993e3bcad636dddf3121aeab">XDpPsu_IsConnected()</a>, <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="a17608072027dcae9a885b07ad2c25690"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_IicRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>IicAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>BytesToRead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ReadData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an I2C read over the AUX channel. </p>
<p>The read message will be divided into multiple transactions if the requested data spans multiple segments. The segment pointer is automatically incremented and the offset is calibrated as needed. E.g. For an overall offset of:</p>
<ul>
<li>128, an I2C read is done on segptr=0; offset=128.</li>
<li>256, an I2C read is done on segptr=1; offset=0.</li>
<li>384, an I2C read is done on segptr=1; offset=128.</li>
<li>512, an I2C read is done on segptr=2; offset=0.</li>
<li>etc.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">IicAddress</td><td>is the address on the I2C bus of the target device. </td></tr>
    <tr><td class="paramname">Offset</td><td>is the offset at the specified address of the targeted I2C device that the read will start from. </td></tr>
    <tr><td class="paramname">BytesToRead</td><td>is the number of bytes to read. </td></tr>
    <tr><td class="paramname">ReadData</td><td>is a pointer to a buffer that will be filled with the I2C read data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the I2C read has successfully completed with no errors.</li>
<li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="xdppsu__hw_8h.html#a5e35cfa767446df01b353e4087c129c9">XDPPSU_AUX_CMD_I2C_READ</a>, <a class="el" href="xdppsu__hw_8h.html#aca2a052c8d143f0af11b296642b25025">XDPPSU_AUX_CMD_I2C_WRITE_MOT</a>, <a class="el" href="xdppsu_8c.html#a22050229650e6ee5ac11242e5387e8e4">XDpPsu_IicWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#a3c97c07d18d9c5a39382fb8f8f7518b6">XDPPSU_INTR_HPD_EVENT_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a66cf1bc6e98aa546ba11f8a8091b1f8e">XDPPSU_INTR_STATUS</a>, and <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__edid_8c.html#a1cfcf97f7f82b214ea57ba6ea2564914">XDpPsu_GetEdidBlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a22050229650e6ee5ac11242e5387e8e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_IicWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>IicAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>BytesToWrite</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>WriteData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs an I2C write over the AUX channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">IicAddress</td><td>is the address on the I2C bus of the target device. </td></tr>
    <tr><td class="paramname">BytesToWrite</td><td>is the number of bytes to write. </td></tr>
    <tr><td class="paramname">WriteData</td><td>is a pointer to a buffer which will be used as the data source for the write.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the I2C write has successfully completed with no errors.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_ERROR_COUNT_MAX if the AUX request timed out.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="xdppsu__hw_8h.html#ad871a4a4fbd142acbd47f51a04795427">XDPPSU_AUX_CMD_I2C_WRITE</a>.</p>

<p>Referenced by <a class="el" href="xdppsu_8h.html#a17608072027dcae9a885b07ad2c25690">XDpPsu_IicRead()</a>.</p>

</div>
</div>
<a class="anchor" id="a2602de9c767cd981896326433a3c2570"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_InitializeTx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function prepares the DisplayPort TX core for use. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the DisplayPort TX core was successfully initialized.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#ad115a6324d57fadb9fdf33a5d1bb3133">XDpPsu::SAxiClkHz</a>, <a class="el" href="xdppsu__hw_8h.html#aadb1a6ac37fc2e571c2a0c5ba90ece94">XDPPSU_AUX_CLK_DIVIDER</a>, <a class="el" href="xdppsu__hw_8h.html#a2993f0909955fb9addd467a4796185ca">XDPPSU_AUX_CLK_DIVIDER_VAL_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a96dd8a3fe382bc8e7ae78429c44b7d52">XDPPSU_DP_DISABLE</a>, <a class="el" href="xdppsu__hw_8h.html#ab18f03371514f98187b96e9350c03816">XDPPSU_DP_ENABLE</a>, <a class="el" href="xdppsu__hw_8h.html#a18e71ddca3a5336d64bdf3a7ed75e3f9">XDPPSU_ENABLE</a>, <a class="el" href="xdppsu__hw_8h.html#a3c97c07d18d9c5a39382fb8f8f7518b6">XDPPSU_INTR_HPD_EVENT_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#ad848b6db96fff173582cb637b421b1fa">XDPPSU_INTR_HPD_IRQ_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a63c73ef7b94ee2b16928d5423226e636">XDPPSU_INTR_HPD_PULSE_DETECTED_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a7961eb41e1c88de739f7462d44818b4c">XDPPSU_INTR_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a35f964035ad6eade3df5b8539989b536">XDPPSU_PHY_CLOCK_SELECT</a>, <a class="el" href="xdppsu__hw_8h.html#ac235ac35ed4fb7136ed096c754ad0c2f">XDPPSU_PHY_CLOCK_SELECT_540GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ad564b6d94b00f66d20f2469f924a0a19">XDPPSU_PHY_CONFIG</a>, <a class="el" href="xdppsu__hw_8h.html#a28a9751ea84fe5ab784defeb1f5b203b">XDPPSU_PHY_CONFIG_GT_ALL_RESET_MASK</a>, <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>, <a class="el" href="xdppsu__hw_8h.html#a71f335fd19c1b8f3bc3eb9a3fbf4644c">XDPPSU_SOFT_RESET</a>, <a class="el" href="xdppsu__hw_8h.html#a3a7707ccbeb559d57c0def91f0f49c43">XDPPSU_SOFT_RESET_EN</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#ab974530daf60911aba3ef16148bd85ad">DpPsu_SetupExample()</a>.</p>

</div>
</div>
<a class="anchor" id="aee45a79c993e3bcad636dddf3121aeab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_IsConnected </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function checks if there is a connected RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>TRUE if there is a connection.</li>
<li>FALSE if there is no connection. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="xdppsu__hw_8h.html#a3f100eb641ca948e3ae71bb33b5e6512">XDPPSU_INTERRUPT_SIG_STATE</a>, <a class="el" href="xdppsu__hw_8h.html#abe45f09e082e6ceecb66597575dac0e7">XDPPSU_INTERRUPT_SIG_STATE_HPD_STATE_MASK</a>, and <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__intr_8c.html#a940393f7b33c36e51ea69d4561630222">XDpPsu_HpdInterruptHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="af6dbe680949ea8a0e857c916d870584b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_dp_psu___config.html">XDpPsu_Config</a>* XDpPsu_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function looks for the device configuration based on the unique device ID. </p>
<p>The table XDpPsu_ConfigTable[] contains the configuration information for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>is the unique device ID of the device being looked up.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration table entry corresponding to the given device ID, or NULL if no match is found.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>Referenced by <a class="el" href="xdppsu__selftest__example_8c.html#a10828d1ee5d6d1839041dd4cf6ff36d3">DpPsu_SelfTestExample()</a>, and <a class="el" href="xdppsu__common__example_8h.html#ab974530daf60911aba3ef16148bd85ad">DpPsu_SetupExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a6eec1f08aa677fac3467a9d34b54589c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_ResetPhy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Reset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function does a PHY reset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Reset</td><td>is the type of reset to assert.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="xdppsu__hw_8h.html#a18e71ddca3a5336d64bdf3a7ed75e3f9">XDPPSU_ENABLE</a>, <a class="el" href="xdppsu__hw_8h.html#ad564b6d94b00f66d20f2469f924a0a19">XDPPSU_PHY_CONFIG</a>, <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu_8h.html#abe31bd9b101b094a40eff13ef032ea44">XDpPsu_EstablishLink()</a>.</p>

</div>
</div>
<a class="anchor" id="a361b97262d5192f5f357fb4fb27b3ec8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SelfTest </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function runs a self-test on the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> driver/device. </p>
<p>The sanity test checks whether or not all tested registers hold their default reset values.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the self-test passed - all tested registers hold their default reset values.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="xdppsu__selftest_8c.html#a204c61fb3a78ff580955c8823fe39eba">ResetValues</a>, <a class="el" href="xdppsu__selftest_8c.html#a40e49362f5db940bb26ae591fb0bc077">ResetValuesMsa</a>, and <a class="el" href="xdppsu__hw_8h.html#a236d6b24b5cf2e0e8ac65a4079ae93bc">XDpPsu_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__selftest__example_8c.html#a10828d1ee5d6d1839041dd4cf6ff36d3">DpPsu_SelfTestExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a93872e0beb0405b47b7d689e8f8749c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_SetColorEncode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851">XDpPsu_ColorEncoding</a>&#160;</td>
          <td class="paramname"><em>ColorEncode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the output Video format for the DP core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">ColorEncode</td><td>is an enumarator for output color encoding schemes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The MsaConfig structure is modified with the new, calculated values. The main stream attributes that were used to derive the calculated values are untouched in the MsaConfig structure. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a05a5424fcecad4f711e93a713918e1b4">XDpPsu_MainStreamAttributes::ComponentFormat</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#ab98fd80f6d8ce3ff3fead5dbb3e98b19">XDpPsu_MainStreamAttributes::DynamicRange</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aad53f91b8a18773658be4b11a83b1b07">XDpPsu_MainStreamAttributes::Misc0</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a20a535cfdb61148f3a27e1be513451ff">XDpPsu_MainStreamAttributes::Misc1</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a2d5a375b359c9f58a59fc935d248699c">XDPPSU_CENC_RGB</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ae7b6c5198c5816c89fa0003c20a601ff">XDPPSU_CENC_XVYCC_422_BT601</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a63ca1aad8ed6f51611e20f7361764414">XDPPSU_CENC_XVYCC_422_BT709</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851af2e71bbe4b7aa0287a4c9b1b77750b5d">XDPPSU_CENC_XVYCC_444_BT601</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ab1d76ebc9fa0e4f5810c267f8106b577">XDPPSU_CENC_XVYCC_444_BT709</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a1b1deea18bbbab732a0c2df2a8e6133b">XDPPSU_CENC_YCBCR_422_BT601</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851af72c3d85b341dd83f2fc1cc7f14c0722">XDPPSU_CENC_YCBCR_422_BT709</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851ae634038a76a619c1de930d813b8679d1">XDPPSU_CENC_YCBCR_444_BT601</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851a97f6a1ab58d7027c728c017a59e6c0fd">XDPPSU_CENC_YCBCR_444_BT709</a>, <a class="el" href="xdppsu_8h.html#abc1a92f88c89695f8bfa5f7d7ad4d851aaa59c0c71ca41b01f97161d4513d9b5a">XDPPSU_CENC_YONLY</a>, <a class="el" href="xdppsu__hw_8h.html#a62cef3c8f37c23bbcb361cf27e78b79a">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_RGB</a>, <a class="el" href="xdppsu__hw_8h.html#aa7f01b729a14459dd1dd702396841e67">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_YCBCR422</a>, <a class="el" href="xdppsu__hw_8h.html#acf4d40b05aab671f8d7339ce3b3a1bff">XDPPSU_MAIN_STREAM_MISC0_COMPONENT_FORMAT_YCBCR444</a>, <a class="el" href="xdppsu__hw_8h.html#a3a788946c8a8f00681b5a2493af74667">XDPPSU_MAIN_STREAM_MISC1_Y_ONLY_EN_MASK</a>, and <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#abbab364a50e80789370359c596dabc14">XDpPsu_MainStreamAttributes::YCbCrColorimetry</a>.</p>

</div>
</div>
<a class="anchor" id="a7836168f290562156a24fb51762acde4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SetDownspread </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables or disables 0.5% spreading of the clock for both the DisplayPort and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Enable</td><td>will downspread the main link signal if set to 1 and disable downspreading if set to 0.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if setting the downspread control enable was successful.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu___link_config.html#aa8f2287632a67655c1b1f0e1956068af">XDpPsu_LinkConfig::DownspreadControl</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="xdppsu_8c.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead()</a>, <a class="el" href="xdppsu_8c.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#ad4beaa963b7a63da99c8663caa7c7440">XDPPSU_DOWNSPREAD_CTRL</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>.</p>

</div>
</div>
<a class="anchor" id="a2ec5ae4af1f5232fc86116d457045997"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SetEnhancedFrameMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables or disables the enhanced framing symbol sequence for both the DisplayPort TX core and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Enable</td><td>will enable enhanced frame mode if set to 1 and disable it if set to 0.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if setting the enhanced frame mode enable was successful.</li>
<li>XST_DEVICE_NOT_FOUND if no RX is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu___link_config.html#aab19db4a5af65cabf219702e29716368">XDpPsu_LinkConfig::EnhancedFramingMode</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="xdppsu_8c.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead()</a>, <a class="el" href="xdppsu_8c.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#acb217703567249190f6250fba75a0a38">XDPPSU_ENHANCED_FRAME_EN</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>.</p>

</div>
</div>
<a class="anchor" id="a1c4b527b0d2029a84a19d8e419a071bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_SetHpdEventHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xdppsu_8h.html#a13e177802b0d46ab226b56650ce50fc0">XDpPsu_HpdEventHandler</a>&#160;</td>
          <td class="paramname"><em>CallbackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function installs a callback function for when a hot-plug-detect event interrupt occurs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">CallbackFunc</td><td>is the address to the callback function. </td></tr>
    <tr><td class="paramname">CallbackRef</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a347b8b6e4f1e7b56f154007cf8039e81">XDpPsu::HpdEventCallbackRef</a>, and <a class="el" href="struct_x_dp_psu.html#a5260646a635dae6b11a8670785574c66">XDpPsu::HpdEventHandler</a>.</p>

</div>
</div>
<a class="anchor" id="a566d5385a4745191d09f43440125d927"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_SetHpdPulseHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xdppsu_8h.html#a1b28e87125be77708843cd7941024b60">XDpPsu_HpdPulseHandler</a>&#160;</td>
          <td class="paramname"><em>CallbackFunc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallbackRef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function installs a callback function for when a hot-plug-detect pulse interrupt occurs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">CallbackFunc</td><td>is the address to the callback function. </td></tr>
    <tr><td class="paramname">CallbackRef</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#aed4c24dc998c531cec4674be4d6db3aa">XDpPsu::HpdPulseCallbackRef</a>, and <a class="el" href="struct_x_dp_psu.html#a128ad832eab2325c3df835f0452b5208">XDpPsu::HpdPulseHandler</a>.</p>

</div>
</div>
<a class="anchor" id="a868ca9bd2184707f3929e6f7e695cc93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SetLaneCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LaneCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the number of lanes to be used by the main link for both the DisplayPort TX core and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">LaneCount</td><td>is the number of lanes to be used over the main link.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if setting the new lane count was successful.</li>
<li>XST_DEVICE_NOT_FOUND if no RX is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu___link_config.html#a1e61b94ec7a7329b4b7929251b293e79">XDpPsu_LinkConfig::LaneCount</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="xdppsu_8c.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead()</a>, <a class="el" href="xdppsu_8c.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#a25090ba43a6682938a143310ed73d844">XDPPSU_LANE_COUNT_SET</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>, and <a class="el" href="xdppsu_8h.html#a3d4cefedd9d272f58c7927b72add609d">XDpPsu_CfgMainLinkMax()</a>.</p>

</div>
</div>
<a class="anchor" id="a68384c6a808dff1f2e68e7611057a548"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SetLinkRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>LinkRate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the data rate to be used by the main link for both the DisplayPort TX core and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">LinkRate</td><td>is the link rate to be used over the main link based on one of the following selects:<ul>
<li>XDPPSU_LINK_BW_SET_162GBPS = 0x06 (for a 1.62 Gbps data rate)</li>
<li>XDPPSU_LINK_BW_SET_270GBPS = 0x0A (for a 2.70 Gbps data rate)</li>
<li>XDPPSU_LINK_BW_SET_540GBPS = 0x14 (for a 5.40 Gbps data rate)</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if setting the new link rate was successful.</li>
<li>XST_DEVICE_NOT_FOUND if no RX device is connected.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#ae1994c57d3126737fc0028f5039b62be">XDpPsu_LinkConfig::LinkRate</a>, <a class="el" href="xdppsu_8c.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#a39533d8f8e18fce7b13f84d440b6b176">XDPPSU_LINK_BW_SET</a>, <a class="el" href="xdppsu__hw_8h.html#af641cdc72bb85675494a1c463904f8e1">XDPPSU_LINK_BW_SET_162GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a826616f141ab667c2f91c83507ce2322">XDPPSU_LINK_BW_SET_270GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ab01ff3802386be5d138cf5a9af031783">XDPPSU_LINK_BW_SET_540GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#a89ac9477adf2f20000d1b6f9d4adb617">XDPPSU_PHY_CLOCK_SELECT_162GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ad41a2cbf2a3730426b20ab8b1cd7f257">XDPPSU_PHY_CLOCK_SELECT_270GBPS</a>, <a class="el" href="xdppsu__hw_8h.html#ac235ac35ed4fb7136ed096c754ad0c2f">XDPPSU_PHY_CLOCK_SELECT_540GBPS</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__common__example_8h.html#a64d2267afa217a44aa3bf09bcd51e409">DpPsu_StartLink()</a>, and <a class="el" href="xdppsu_8h.html#a3d4cefedd9d272f58c7927b72add609d">XDpPsu_CfgMainLinkMax()</a>.</p>

</div>
</div>
<a class="anchor" id="a0ae04780a260564bbae1fd7c26155bd5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_SetMsaValues </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the main stream attributes registers of the DisplayPort TX core with the values specified in the main stream attributes configuration structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a68c1a909b07494754efdb3013fefd3a2">XDpPsu_MainStreamAttributes::AvgBytesPerTU</a>, <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#ab45384e75710459fcc27223be6b6fab6">XDpPsu_MainStreamAttributes::DataPerLane</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a39efde558c7dc46d473c5d97a5e57f0c">XDpPsu_MainStreamAttributes::HStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a3665a9f198631d956098e0e2d8110c83">XDpPsu_MainStreamAttributes::InitWait</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aad53f91b8a18773658be4b11a83b1b07">XDpPsu_MainStreamAttributes::Misc0</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a20a535cfdb61148f3a27e1be513451ff">XDpPsu_MainStreamAttributes::Misc1</a>, <a class="el" href="struct_x_dp_psu.html#a2635913620470c43b99ee014506ef425">XDpPsu::MsaConfig</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a5800534070e04bcfbb537f3fc67bf26b">XDpPsu_MainStreamAttributes::NVid</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a473d3bb30522b93cc5ac130d6da59d55">XDpPsu_MainStreamAttributes::PixelClockHz</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a279b948bbb49e9894cb5835a0b580e75">XDpPsu_MainStreamAttributes::TransferUnitSize</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#aa65d39155f3e2be26683222b92036ea9">XDpPsu_MainStreamAttributes::UserPixelWidth</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a49874c82f96ffd1d8b9a252318902669">XDpPsu_MainStreamAttributes::VStart</a>, <a class="el" href="struct_x_dp_psu___main_stream_attributes.html#a187fa13aab8b4f9c6a4a29e0ff834447">XDpPsu_MainStreamAttributes::Vtm</a>, <a class="el" href="xdppsu__hw_8h.html#a2221a5ada815d383adda40c0badcb74d">XDPPSU_FRAC_BYTES_PER_TU</a>, <a class="el" href="xdppsu__hw_8h.html#ac1bfc95808e680c14095348df796eff3">XDPPSU_INIT_WAIT</a>, <a class="el" href="xdppsu__hw_8h.html#ae42d697245eb12b0caae5f2cdec459ed">XDPPSU_M_VID</a>, <a class="el" href="xdppsu__hw_8h.html#a27ba254de82f62941d184b8962dca6a9">XDPPSU_MAIN_STREAM_HRES</a>, <a class="el" href="xdppsu__hw_8h.html#a6515d0120b4a6fcd2769d651f9c85335">XDPPSU_MAIN_STREAM_HSTART</a>, <a class="el" href="xdppsu__hw_8h.html#a12ef125fc3c17f329374fb7082d91e81">XDPPSU_MAIN_STREAM_HSWIDTH</a>, <a class="el" href="xdppsu__hw_8h.html#acfae349a9726fe324642e099ebbfb356">XDPPSU_MAIN_STREAM_HTOTAL</a>, <a class="el" href="xdppsu__hw_8h.html#a4c8b7aedd1df781e3ca81a9d54fd3e6a">XDPPSU_MAIN_STREAM_MISC0</a>, <a class="el" href="xdppsu__hw_8h.html#a68bdadc636b21a7130f9d6f2444b6908">XDPPSU_MAIN_STREAM_MISC1</a>, <a class="el" href="xdppsu__hw_8h.html#aa7738c02d0883e7d17f1ab000af800de">XDPPSU_MAIN_STREAM_POLARITY</a>, <a class="el" href="xdppsu__hw_8h.html#ae227c02effff3397f8a882aaf587b436">XDPPSU_MAIN_STREAM_POLARITY_VSYNC_POL_SHIFT</a>, <a class="el" href="xdppsu__hw_8h.html#a9d8763c359f1036ef3af7aabd92fc61b">XDPPSU_MAIN_STREAM_VRES</a>, <a class="el" href="xdppsu__hw_8h.html#adaccb873812cdd56a0a9400f525bccb0">XDPPSU_MAIN_STREAM_VSTART</a>, <a class="el" href="xdppsu__hw_8h.html#a89b4198d0838f5b13c3efc018bfff63e">XDPPSU_MAIN_STREAM_VSWIDTH</a>, <a class="el" href="xdppsu__hw_8h.html#aa4d7607e0a3dbca00150115881ecca65">XDPPSU_MAIN_STREAM_VTOTAL</a>, <a class="el" href="xdppsu__hw_8h.html#ae809ab48c87900a9b2cd219d8385f3d5">XDPPSU_MIN_BYTES_PER_TU</a>, <a class="el" href="xdppsu__hw_8h.html#a402b43e835fbfff366b961880262d3ba">XDPPSU_N_VID</a>, <a class="el" href="xdppsu__hw_8h.html#a842268c74f2d73c00df473e71fb54b86">XDPPSU_TU_SIZE</a>, <a class="el" href="xdppsu__hw_8h.html#a30a942297a72b501359f4818da8e5515">XDPPSU_USER_DATA_COUNT_PER_LANE</a>, <a class="el" href="xdppsu__hw_8h.html#aa9be13696d4f6db43e903d239a61dd2b">XDPPSU_USER_PIXEL_WIDTH</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xdppsu__spm_8c.html#a4aade3b1675942175dbb3300e2c9d0c0">XDpPsu_SetVideoMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a690be0eee00d0c06370f88fdfbfdfb75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XDpPsu_SetScrambler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables or disables scrambling of symbols for both the DisplayPort and the RX device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance. </td></tr>
    <tr><td class="paramname">Enable</td><td>will enable or disable scrambling.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if setting the scrambling enable was successful.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu___config.html#a59991a74d33038e382665a3460a669ee">XDpPsu_Config::BaseAddr</a>, <a class="el" href="struct_x_dp_psu.html#a95a9619caa3d18b50a4562de54d57704">XDpPsu::Config</a>, <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, <a class="el" href="struct_x_dp_psu.html#a37e28c28f46f7e08ce4738a9232a0678">XDpPsu::LinkConfig</a>, <a class="el" href="struct_x_dp_psu___link_config.html#acdbacf632dd479df825fa795e6647250">XDpPsu_LinkConfig::ScramblerEn</a>, <a class="el" href="xdppsu_8c.html#ab9d129accbf09c6474ba5e1fac854983">XDpPsu_AuxRead()</a>, <a class="el" href="xdppsu_8c.html#a619df5cbd94b7f0459e62b55a34e5df5">XDpPsu_AuxWrite()</a>, <a class="el" href="xdppsu__hw_8h.html#a6025e9ebba67eb43d4e7894386b0806e">XDPPSU_SCRAMBLING_DISABLE</a>, and <a class="el" href="xdppsu__hw_8h.html#a823328e4a95aa3ba27553603940a7ba8">XDpPsu_WriteReg</a>.</p>

</div>
</div>
<a class="anchor" id="a4aade3b1675942175dbb3300e2c9d0c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XDpPsu_SetVideoMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_dp_psu.html">XDpPsu</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function clears the main stream attributes registers of the DisplayPort TX core and sets them to the values specified in the main stream attributes configuration structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_dp_psu.html" title="The XDpPsu driver instance data. ">XDpPsu</a> instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_dp_psu.html#a1a3729a9b372f0371dea0a523cdf639d">XDpPsu::IsReady</a>, and <a class="el" href="xdppsu_8h.html#a0ae04780a260564bbae1fd7c26155bd5">XDpPsu_SetMsaValues()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
